Schachprogramm

Schachprogramm
Schachprogramm,
 
Programm, gegen das man Schachpartien spielen kann. Schachprogramme gelten als gut erforschtes, aber realitätsfernes Beispiel von künstlicher Intelligenz. Einige Schachprogramme sind in speziellen Schachcomputern integriert; andere laufen auf dem PC oder Macintosh-Rechner, wobei entweder ein Sensorschachbrett angeschlossen wird oder die Figuren grafisch auf dem Bildschirm dargestellt werden.
 
Neben dem eigentliche Schachspiel enthalten Schachprogramme noch eine Reihe von Sonderfunktionen, etwa einen Analysemodus, in dem Stellungen bewertet werden, ohne dass ein Zug ausgeführt wird. Diese Funktion ist hilfreich beim Analysieren von Schachpartien. Des Weiteren gibt es Lernhilfen, eine Funktion zum Rückgängigmachen mehrere Züge, die Einstellung des Schwierigkeitsgrads, verbale Kommentare usw.
 
Das erste Schachprogramm wurde bereits in den Jahren 1942 bis 1945 von Konrad Zuse in der von ihm entwickelten Programmiersprache Plankalkül geschrieben. Weitere frühe Schachprogramme entwickelten Claude Shannon 1950 und Alan Turing 1953. Seitdem sind immer leistungsfähigere Schachprogramme entstanden. Inzwischen weisen die besten Programme eine ELO-Zahl (ein Maß zur Bewertung von Schachspielern und Schachcomputern) auf, die in einer ähnlichen Größenordnung liegt wie die der Schachweltmeister.
 
Schachprogramme berechnen eine Reihe von Zügen im Voraus unter Beachtung der Schachregeln. Um nun aus allen Möglichkeiten die beste auszuwählen, muss das Programm für jede dieser Möglichkeiten eine Bewertung durchführen, die es ermöglicht, die Situation von Schwarz und Weiß zu vergleichen. Dazu werden den einzelnen Figuren unterschiedliche Zahlen zugewiesen, die ihren Wert repräsentieren, d. h., der König bekommt den höchsten Wert, es folgt die Dame, danach der Turm, Läufer und Springer befinden sich dann etwa auf gleicher Ebene und ein Bauer erhält den niedrigsten Wert. Auf dieser Basis wird eine Grundbewertung der augenblicklichen und möglicher zukünftiger Situationen vorgenommen. Um die Bewertung zu verfeinern, werden bestimmte günstige Stellungen, etwa ein Turm auf einer offenen Linie, mit Extrapunkten berücksichtigt, ungünstige Stellungen bringen Minuspunkte. Auf diese Weise berechnet und bewertet das Programm zunächst alle aus der augenblicklichen Situation heraus mögliche Züge; danach geht es zum nächsten Halbzug über (ein Halbzug ist entweder ein Zug von Schwarz oder ein Zug von Weiß). Werden alle Züge aus der ersten Stufe weiterverfolgt (Brute-Force-Verfahren), so spricht man von »vollständiger Suche«, wird nach sinnvollen und sinnlosen Zügen selektiert und nur auf Ersteren aufbauend weitergerechnet, so nennt man dies selektive Suche. Die Anzahl der betrachteten Stufen wird als Suchtiefe bezeichnet. Auf der Basis dieser Berechnungen »entscheidet« das Schachprogramm dann, welcher Zug ausgeführt werden soll.
 
Um identische Stellungen nicht mehrmals berechnen zu müssen, legen Schachprogramme sog. Hash-Tabellen (Hash-Funktion) an, in denen bereits bewertete Stellungen abgelegt werden. Vor jeder Bewertung einer Stellung wird nun zunächst geprüft, ob diese in der Tabelle bereits vorhanden ist. In diesem Fall kann das Ergebnis innerhalb kürzester Zeit aus der Tabelle entnommen werden. Trotzdem ist der Rechenaufwand enorm und steigt mit der Zahl der im Voraus berechneten Züge exponentiell an. Das Problem ist, dass der Computer auch Möglichkeiten rechnerisch verfolgt, die ein Schachspieler auf den ersten Blick als unsinnig erkannt hätte. Ein weiterer prinzipieller Vorteil eines menschlichen Spielers ist seine Lernfähigkeit. Eine angewandte Taktik in einer bestimmten Situation, die ihm starke Nachteile oder gar eine Niederlage gebracht hat, wird sich der Spieler merken, um in einer ähnlichen Lage nach einer besseren Vorgehensweise zu suchen. Ähnliches wurde nun bei modernen Schachprogrammen nachzuahmen versucht. Hierzu werden meist auch wieder die Hash-Tabellen eingesetzt. Abgespeichert werden alle Züge, die unmittelbar nach ihrer Ausführung zu einer drastischen Änderung der Bewertung geführt haben (d. h., nach denen sich die Lage entweder entscheidend verbessert oder verschlechtert hat). In künftigen Partien werden dann etwa Züge, die zu einem starken Abfallen der Bewertung geführt haben, vermieden und durch nachrangige Alternativen ersetzt. Die Lernfähigkeit von Schachprogrammen ist in jüngster Zeit weiter verbessert worden. Probleme bereitet es jedoch weiterhin, auch dann einen Lerneffekt zu erzielen, wenn eine Situation zwar nicht gleich, jedoch sehr ähnlich einer früheren Situation ist, die zur Niederlage geführt hat. Hier würde einem lernfähigen Menschen die Analogie auffallen, nicht jedoch einem Schachprogramm, das eine völlige Übereinstimmung braucht, um den Lerneffekt nutzen zu können. Es bleibt abzuwarten, welche Fortschritte mit den Methoden der künstlichen Intelligenz in dieser Richtung noch zu erzielen sind.
 

Universal-Lexikon. 2012.

Игры ⚽ Поможем написать реферат

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Schachprogramm — a b c d e f g h …   Deutsch Wikipedia

  • Chess-Engine — a b c d e f g h …   Deutsch Wikipedia

  • Chess engine — a b c d e f g h …   Deutsch Wikipedia

  • Schach-Engine — a b c d e f g h …   Deutsch Wikipedia

  • Schachengine — a b c d e f g h …   Deutsch Wikipedia

  • Schachsoftware — a b c d e f g h …   Deutsch Wikipedia

  • Computer-Schach — Computerschach bzw. Rechnerschach bezeichnet das Spielen von Schach gegen einen Computer, das Spielen von Computern untereinander, die Entwicklung von schachspielenden Maschinen (Schachcomputer), sowie die Entwicklung von Schachprogrammen. Die… …   Deutsch Wikipedia

  • Schachautomat — Früher elektronischer Schachcomputer, der Fidelity Chess Challenger Voice Schachcomputer sind Computer, die speziell zum Spielen von Schach gebaut sind. Sie enthalten ein als Firmware eingebautes Schachprogramm (Computerschach). In …   Deutsch Wikipedia

  • Chess V — ChessV ChessV ist ein universelles Schachprogramm Basisdaten Entwickler: Gregory Strong Aktuelle  …   Deutsch Wikipedia

  • Chessv — ist ein universelles Schachprogramm Basisdaten Entwickler: Gregory Strong Aktuelle  …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”